import 'package:flutter/material.dart';
import 'package:intl/intl.dart';

import 'models/merit_record.dart';

class RecordHistory extends StatelessWidget {
  final List<MeritRecord> records;

  RecordHistory({super.key, required this.records});

  final DateFormat format = DateFormat('yyyy年MM月dd日 HH:mm:ss');

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        iconTheme: const IconThemeData(color: Colors.black),
        centerTitle: true,
        title: const Text(
          '功德记录',
          style: TextStyle(color: Colors.black, fontSize: 16),
        ),
        elevation: 0,
        backgroundColor: Colors.white,
      ),
      body: ListView.builder(
        itemBuilder: _buildItem,
        itemCount: records.length,
      ),
    );
  }

  Widget? _buildItem(BuildContext context, int index) {
    MeritRecord merit = records[index];
    String date =
        format.format(DateTime.fromMillisecondsSinceEpoch(merit.timestamp));

    /// 使用 ListTile 组件构建条目视图；
    // leading 表示左侧组件，使用 CircleAvatar 展示圆形图形；
    // title 表示标题组件，展示功德数；
    // subtitle 表示副标题组件，展示音效名称；
    // trailing 表示尾部组件，展示日期。
    return ListTile(
      leading: CircleAvatar(
        backgroundColor: Colors.blue,
        backgroundImage: AssetImage(merit.image),
      ),
      title: Text('功德 +${merit.value}'),
      subtitle: Text(merit.audio),
      trailing: Text(
        date,
        style: const TextStyle(fontSize: 12, color: Colors.grey),
      ),
    );
  }
}
